linters:
  disable:
    - errcheck
  enable:
    - misspell
    - bodyclose
    - gofumpt
    - exhaustive
    - govet
    - unused
    - nolintlint
linters-settings:
  exhaustive:
    # Presence of "default" case in switch statements satisfies exhaustiveness,
    # even if all enum members are not listed.
    default-signifies-exhaustive: true
issues:
  exclude-rules:
    # Exclude some staticcheck messages
    - linters:
        - staticcheck
      text: "S1034"
    - linters:
        - staticcheck
      text: "SA1029:"
    - linters:
        - staticcheck
      text: "SA1015:"
    - linters:
        - staticcheck
      text: "SA5011"
    - linters:
        - govet
      text: "composites"
    - linters:
        - staticcheck
      path: adapters/handlers/grpc/v1/filters.go
      text: 'SA1019' # TODO: remove this once deprecated gRPC fields are removed from API
    - linters:
        - staticcheck
      path: adapters/handlers/grpc/v1/prepare_reply.go
      text: 'SA1019' # TODO: remove this once deprecated gRPC fields are removed from API
    - linters:
        - staticcheck
      path: adapters/handlers/grpc/v1/parse_search_request.go
      text: 'SA1019' # TODO: remove this once deprecated gRPC fields are removed from API
    - linters:
        - staticcheck
      path: adapters/handlers/grpc/v1/batch_parse_request.go
      text: 'SA1019' # TODO: remove this once deprecated gRPC fields are removed from API
    - linters:
        - staticcheck
      path: adapters/handlers/grpc/v1/service.go
      text: 'SA1019' # TODO: remove this once deprecated gRPC fields are removed from API
    - linters:
        - staticcheck
      path: test/acceptance/grpc/grpc_test_deprecated.go
      text: 'SA1019' # TODO: remove this once deprecated gRPC fields are removed from API
    - linters:
        - staticcheck
      path: adapters/handlers/grpc/v1/mapping.go
      text: 'SA1019' # TODO: remove this once deprecated gRPC fields are removed from API
    - linters:
        - staticcheck
      path: test/acceptance/grpc/list_value_return_test.go
      text: 'SA1019' # TODO: remove this once deprecated gRPC fields are removed from API
run:
  build-tags:
    - integrationTest
    - integrationTestSlow
